home *** CD-ROM | disk | FTP | other *** search
/ Aminet 8 / Aminet 8 (1995)(GTI - Schatztruhe)[!][Oct 1995].iso / Aminet / dev / gcc / gcc270_src.lha / gcc-2.7.0-amiga / config / i386 / aix386.h < prev    next >
C/C++ Source or Header  |  1995-06-15  |  2KB  |  70 lines

  1. /* Definitions for IBM PS2 running AIX/386 with gas.
  2.    From: Minh Tran-Le <TRANLE@intellicorp.com>
  3.    Copyright (C) 1988 Free Software Foundation, Inc.
  4.  
  5. This file is part of GNU CC.
  6.  
  7. GNU CC is free software; you can redistribute it and/or modify
  8. it under the terms of the GNU General Public License as published by
  9. the Free Software Foundation; either version 2, or (at your option)
  10. any later version.
  11.  
  12. GNU CC is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. GNU General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with GNU CC; see the file COPYING.  If not, write to
  19. the Free Software Foundation, 59 Temple Place - Suite 330,
  20. Boston, MA 02111-1307, USA.  */
  21.  
  22. /* 
  23.  * This configuration file is for gcc with gas-2.x and gnu ld 2.x
  24.  * with aix ps/2 1.3.x.
  25.  */
  26.  
  27. /* Define USE_GAS if you have the new version of gas that can handle
  28.  * multiple segments and .section pseudo op.  This will allow gcc to
  29.  * use the .init section for g++ ctor/dtor.
  30.  *
  31.  * If you don't have gas then undefined USE_GAS.  You will also have
  32.  * to use collect if you want to use g++
  33.  */
  34. #define USE_GAS
  35.  
  36. #include "i386/aix386ng.h"
  37.  
  38. /* Use crt1.o as a startup file and crtn.o as a closing file.
  39.    And add crtbegin.o and crtend.o for ctors and dtors */
  40.  
  41. #undef  STARTFILE_SPEC
  42. #define STARTFILE_SPEC \
  43.   "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}} crtbegin.o%s"
  44. #undef  ENDFILE_SPEC
  45. #define ENDFILE_SPEC \
  46.   "crtend.o%s crtn.o%s"
  47.  
  48. /* Removed the -K flags because the gnu ld does not handle it */
  49. #undef LINK_SPEC
  50. #define LINK_SPEC "%{T*} %{z:-lm}"
  51.  
  52. /* Define a few machine-specific details of the implementation of
  53.    constructors.  */
  54.  
  55. #undef INIT_SECTION_ASM_OP
  56. #define INIT_SECTION_ASM_OP     ".section .init,\"x\""
  57.  
  58. #define CTOR_LIST_BEGIN                \
  59.   asm (INIT_SECTION_ASM_OP);            \
  60.   asm ("pushl $0")
  61. #define CTOR_LIST_END CTOR_LIST_BEGIN
  62.  
  63. #define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME)    \
  64.   do {                        \
  65.     init_section ();                \
  66.     fprintf (FILE, "\tpushl $");        \
  67.     assemble_name (FILE, NAME);            \
  68.     fprintf (FILE, "\n");            \
  69.   } while (0)
  70.